package com.rabbit.common.serializer;

/**
 * 序列化与反序列化接口
 *
 * @author: 顾志杰
 */
public interface Serializer {
    /**
     * 序列化成字节数组
     * @param o
     * @return
     */
    byte[] serializeRaw(Object o);

    /**
     * 序列化成字符串
     * @param o
     * @return
     */
    String serialize(Object o);

    /**
     * 字符串反序列化
     * @param content
     * @return
     */
    <T> T deserialize(String content);

    /**
     * byte[]反序列化
     * @param content
     * @return
     */
    <T> T deserialize(byte[] content);
}
